// miniprogram/pages/mycard/mycard.js
const app = new getApp();
const db = wx.cloud.database();
const col = db.collection('lesson020');
const _ = db.command;

Page({

  /**
   * 页面的初始数据
   */
  data: {
    selected:0,
    getprize:false,
    userinfo:null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    col.where({
      '_openid':app.globalData.openid
    }).get().then((res)=>{
      console.log('myCard',res);
      if(res.data.length >0){
        // let words = res.data[0].words;
        // let prize = res.data[0].prize;
        // let userinfo = res.data[0].userinfo;
        let { words, prize, userinfo } = res.data[0]
        if(prize != null){
          this.setData({
            getprize:true,
            
          })
          
        }
        
        this.setData({
          words:words,
          prize,
          userinfo
        })
      }

    })

  },
  togetprize(){
    let {userinfo} = this.data
    if (!userinfo) {
      console.log('userinfo不存在')
      wx.redirectTo({
        url: '/pages/getprize/getprize',
      })
    } else {
      console.log('userinfo存在')
      wx.showToast({
        title: '你已经填写过信息了,若奖品未到请稍等几日哦',
        icon:'none',
        duration:1500
      })
    }
  },
  select(e){
    // 下标
    let index = e.currentTarget.dataset.index;
    
    // 获取data中的words
    let { words, selected, prize} = this.data;

    // 判断是否抽过奖 抽过一次就不许再抽
    if( prize != null ){
      wx.showToast({
        title:'你已经抽过奖了!',
        icon:'none',
        duration:1500
      })
      console.log('你已经抽过奖了')
      return
    }

    // 限制用户必须拥有这个字 number !=0
    // 判断该用户点击的字是否非0
    if( words[index].number == 0 ){
      return ;
    }
    // 1. 已选中两个 选第三个需要阻止
    // 2. 如果已选两个 但点击的是已选中的话 不进入判断
    if(selected >=2 && !words[index].check){
      wx.showToast({
        title: '只需选其中两张邮卡就好了哦~~~!',
        icon: 'none',
        duration: 1500,
      });
      return
    }

    // 选中切换
    if( !words[index].check ){
      // 未选中
      words[index].check = true;
      selected++;
    }else{
      // 已选中
      words[index].check = false;
      selected--;
    }
    this.setData({
      selected, 
      words
    })
  },

  // 合成
  merge(){
    console.log('merge ok')
    // selected必须为2
    let { selected, words, prize } = this.data;
    
    // 抽过奖则不再抽
    if( prize != null){
      wx.showToast({
        title: '你已经抽过奖了!',
        icon: 'none',
        duration: 1500,
      });
      return;
    }
    // 限制邮卡数量
    if( selected <2 ){
      wx.showToast({
        title: '必须选择两个邮卡',
        icon:'none',
        duration:1500,
      });

      return ;
    }

    let selectedArr = []; //存放用户选择的下标

    words.forEach((item,index)=>{
      if(item.check == true){
        selectedArr.push(index);
      }
    })
    console.log('selectedArr', selectedArr)

    wx.cloud.callFunction({
      name:'merge',
      data:{
        selectedArr: selectedArr,
        words
      },
      success:(res)=>{
        console.log(res);
        // 获奖成功后
        if(res.result.success){

          // wx.showToast({
          //   title: '你抽到了'+prize+'等奖',
          //   icon:'success',
          //   duration:1500,

          // })

          // 更新数据
          let newwords = res.result.getnew.data[0].words;
          let prize = res.result.getnew.data[0].prize;
          this.setData({
            words: newwords,
            prize,
            getprize:true,  //显示获奖弹窗
          })
          
        }else{
          let msg = res.result.msg;
          wx.showToast({
            title: msg,
            icon: 'none',
            duration: 1500,

          })
        }


      },
      fail:(res)=>{
        console.log('fail',res)
      }
    })
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})